//
// Created by Semir on 2020/4/26.
//

#include <iostream>
#include <algorithm>

using namespace std;

struct Heap {
    int weight;
    int value;
    double rate;
};

const int MAX_N = 105;
int n, t;
Heap* heaps[MAX_N];

bool cmp(Heap* h1, Heap* h2) {
    return h1->rate > h2->rate;
}

int main() {
    cin >> n >> t;
    for (int i = 0; i < n; i++) {
        heaps[i] = new Heap;
        cin >> heaps[i]->weight >> heaps[i]->value;
        heaps[i]->rate = (double) heaps[i]->value / heaps[i]->weight;
    }
    sort(heaps, heaps + n, cmp);
    double take = 0.0;
    for (int i = 0; i < n; i++) {
        if (t > heaps[i]->weight) {
            take += heaps[i]->value;
            t -= heaps[i]->weight;
        } else {
            take += heaps[i]->rate * t;
            break;
        }
    }
    printf("%.2f", take);
    return 0;
}